-- *****************************************************************
-- CISCO-ITP-MSU-RATES-MIB: MIB for tracking MTP3 MSU rates per  
--                          Processor
--
-- January 2006, John Linton, Shekhar Acharya
--
-- Copyright (c) 2006 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--
-- *****************************************************************
CISCO-ITP-MSU-RATES-MIB DEFINITIONS ::= BEGIN

IMPORTS
        ciscoMgmt
                FROM CISCO-SMI
                
        EntPhysicalIndexOrZero
                FROM CISCO-TC
                        
        MODULE-COMPLIANCE,
        NOTIFICATION-GROUP,
        OBJECT-GROUP
                FROM SNMPv2-CONF
                
        TEXTUAL-CONVENTION,
        TimeStamp,
        TruthValue
                FROM SNMPv2-TC
                
        Gauge32,
        Integer32, 
        Unsigned32,
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE
                FROM SNMPv2-SMI;
                
ciscoItpMsuRatesMIB MODULE-IDENTITY
        LAST-UPDATED    "200605310000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems, Inc
                        Customer Service

                Postal: 170 W. Tasman Drive
                        San Jose, CA  95134
                        USA

                   Tel: +1 800 553-NETS

                E-mail: cs-ss7@cisco.com"
        DESCRIPTION
           "This MIB provides information used to manage the number
            of MTP3 MSUs transmitted and received per processor.  Many
            of the higher level protocols require several MSUs per 
            transaction.  Traffic capacity planning is based on MSUs
            not transactions.  This MIB will provide information to 
            determine current traffic.
                
            The Cisco IP Transfer Point (ITP) is a hardware and 
            software solution that transports SS7 traffic using
            IP.  Each ITP node provides function similar to SS7 
            signalling point.
            
            The relevant ITU documents describing this technology
            is the ITU Q series, including ITU Q.700: Introduction
            to CCITT Signalling System No. 7 and ITU Q.701 
            Functional description of the message transfer part
            (MTP) of Signalling System No. 7. 
            "
            
        REVISION        "200605310000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { ciscoMgmt 529 }
                                                  
-- Top-level structure of the MIB
ciscoItpMsuRatesMIBNotifs  OBJECT IDENTIFIER 
                           ::= { ciscoItpMsuRatesMIB 0 }
ciscoItpMsuRatesMIBObjects OBJECT IDENTIFIER 
                           ::= { ciscoItpMsuRatesMIB 1 }
ciscoItpMsuRatesMIBConform OBJECT IDENTIFIER 
                           ::= { ciscoItpMsuRatesMIB 2 }

cimrScalars  OBJECT IDENTIFIER ::= { ciscoItpMsuRatesMIBObjects  1 }
cimrTables   OBJECT IDENTIFIER ::= { ciscoItpMsuRatesMIBObjects  2 }

-- *************************************************************
-- *                                                           *
-- * Textual Conventions                                       *
-- *                                                           *
-- *************************************************************
CimrMsuThreshold ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
           "This textual convention defines a threshold used to 
            monitor the rate of MSUs per second.  The zero value
            is used to indicate that value has not been specified.
            
            It is important to note that the MSU thresholds should
            be based on processor type, routing protocols and system
            environments. 
            "
        SYNTAX Unsigned32 (0 | 100..4294967295 )
        
CimrMsuRateState ::= TEXTUAL-CONVENTION
    STATUS              current
    DESCRIPTION
      "MSU Rate State:
      
         'acceptable' - traffic for a specified direction is 
                        at the acceptable level.
                           
         'warning'    - traffic for a specified direction is 
                        has reached or exceed warning level but is below 
                        the overloaded level.
                   
         'overloaded' - traffic for a specified direction 
                        has reached or exceeds overloaded level
      "
    SYNTAX INTEGER {
              acceptable(1),
              warning(2),
              overloaded(3)
           }
           
CirbhMsuTrafficDirection ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION                   
      "Direction of traffic on an processor."
    SYNTAX INTEGER { 
                     receive(1),    
                     transmit(2)
           }
           
CirbhMsuCurrentCount ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
      "The value of this counter starts from zero and is
       increased when associated events occur,
       until and administrative operation in performed 
       that requires the associated objects to be cleared."
    SYNTAX  Gauge32
    
-- *************************************************************
-- *                                                           *
-- * Scalars                                                   *
-- *                                                           *
-- *************************************************************
cimrMsuRateSampleInterval OBJECT-TYPE
     SYNTAX      Unsigned32 ( 1..60 )
     UNITS       "seconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
        "The length of the interval used to calculate MSU rate."
     DEFVAL { 5 }
    ::= { cimrScalars  4 }
    
cimrMsuRateNotifyInterval OBJECT-TYPE
     SYNTAX      Unsigned32 ( 0 | 60..3600 )
     UNITS       "seconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
        "The length of the interval used to suppress 
         ciscoItpMsuRcvdRateState and ciscoItpMsuSentRateState
         notifications."  
     DEFVAL { 900 }
    ::= { cimrScalars  5 }
    
cimrMsuRateNotifyEnable OBJECT-TYPE
     SYNTAX       TruthValue
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION 
        "The MSU rate notification truth value.  This object
         controls the generation of ciscoItpMsuRcvdRateState
         and ciscoItpMsuSentRateState notifications.
        
         'true'  Indicates that the notification of MSU rates
                 has been enabled. 
                
         'false' Indicates that the notification MSU rates 
                 has been disabled."
     DEFVAL { false }
    ::= { cimrScalars  6 }

cimrMsuRateAcceptableThreshold OBJECT-TYPE
    SYNTAX      CimrMsuThreshold
    UNITS       "MSUs per second"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to establish a default value for all
        instances of the cimrMsuProcAcceptableThreshold object in the
        cimrMsuProcTable table.  The value for this object must be 
        less than the values specified by cimrMsuRateWarningThreshold
        and cimrMsuRateOverloadedThreshold objects.  All changes to 
        this threshold will take effect at the end of the current
        interval."
    DEFVAL   {0}    
    ::= { cimrScalars  7 }
    
cimrMsuRateWarningThreshold OBJECT-TYPE
    SYNTAX      CimrMsuThreshold
    UNITS       "MSUs per second"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to establish a default value for all
        instances of the cimrMsuProcWarningThreshold object in the
        cimrMsuProcTable table.  The value for this object must be 
        less than the values specified by 
        cimrMsuRateOverloadedThreshold and greater than 
        cimrMsuRateAcceptableThreshold objects.  All changes to 
        this threshold will take effect at the end of the current
        interval."
    DEFVAL   {0}    
    ::= { cimrScalars  8 }
    
cimrMsuRateOverloadedThreshold OBJECT-TYPE
    SYNTAX      CimrMsuThreshold
    UNITS       "MSUs per second"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to establish a default value for all
        instances of the cimrMsuProcOverloadedThreshold object in the
        cimrMsuProcTable table.  The value for this object must be 
        greater than the values specified by 
        cimrMsuRateAcceptableThreshold and 
        cimrMsuRateWarningThreshold objects.  All changes to 
        this threshold will take effect at the end of the current
        interval."
    DEFVAL   {0}    
    ::= { cimrScalars  9 }
    
   
-- *************************************************************
-- *                                                           *
-- * MSU Processor table                                       *
-- *                                                           *
-- *************************************************************
cimrMsuProcTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CimrMsuProcEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table provides information associated with each 
         processor.  Thresholds are provided to control the 
         behavior of the following objects from the 
         cimrMsuTrafficTable table.
         
         -- cimrMsuTrafficRateState          
         -- cimrMsuTrafficRate               
         -- cimrMsuTrafficSize                
         -- cimrMsuProcDurWarning         
         -- cimrMsuProcDurOverloaded       
         
         Any changes to these thresholds will cause a reset of
         measurements which is indicated by cimrMsuProcReset
         and cimrMsuProcResetTimestamp objects.

         Notifications thresholds.
         In order to generate notifications when MSU rate switch
         states the customer must define traffic levels using the
         following objects.  When the global objects contain 
         non-zero values they will act as defaults to all entries 
         in table.  
         
         global:
         - cimrMsuRateAcceptableThreshold 
         - cimrMsuRateWarningThreshold    
         - cimrMsuRateOverloadedThreshold 
          
         Per processor: 
         - cimrMsuProcAcceptableThreshold 
         - cimrMsuProcWarningThreshold    
         - cimrMsuProcOverloadedThreshold
         
         The global thresholds only apply when all of the threshold
         objects at instance level are set to zero.  Set operations 
         against thresholds must be performed as single operation.
         
         Calculation of cimrMsuTrafficRateState object is performed in 
         the following manner to only report significant changes
         in traffic.  In order to switch to a higher state the 
         traffic rate must equal or exceed the next higher 
         threshold.  For example when current state is acceptable
         the traffic must equal or exceed value specified by 
         warning-threshold to obtain warning state.  In order to
         switch to a lower state the traffic rate must be less than
         the next lower threshold.  For example when current state 
         is overloaded the traffic must drop below warning-threshold
         to obtain warning state.
         
         Example:
         Acceptable-Threshold = 2000
         Warning-Threshold    = 2500
         Overloaded-Threshold = 3000
         
         Sample  Rate  Old State     New State
         ------  ----  ----------    ----------
              1  2000  Acceptable    Acceptable
              2  2500  Acceptable    Warning
              3  2200  Warning       Warning
              4  2000  Warning       Acceptable
              5  3000  Acceptable    Overloaded
              5  1000  Overloaded    Acceptable

        " 
    ::= { cimrTables 1 }
       
cimrMsuProcEntry OBJECT-TYPE
    SYNTAX      CimrMsuProcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry represents a processor and is updated
         at end of interval specified by the 
         cimrMsuRateSampleInterval object."
    INDEX   { cimrMsuProcIndex }
    ::= { cimrMsuProcTable  1 }

CimrMsuProcEntry  ::= SEQUENCE {
        cimrMsuProcIndex               Unsigned32,
        cimrMsuProcPhysicalIndex       EntPhysicalIndexOrZero,
        cimrMsuProcAcceptableThreshold CimrMsuThreshold,
        cimrMsuProcWarningThreshold    CimrMsuThreshold,
        cimrMsuProcOverloadedThreshold CimrMsuThreshold,
        cimrMsuProcReset               TruthValue,
        cimrMsuProcResetTimestamp      TimeStamp,
        cimrMsuProcSlotNumber          Integer32,
        cimrMsuProcBayNumber           Integer32
}
                       
cimrMsuProcIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1.. 4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index that uniquely represents a processor.  This 
        index is assigned arbitrarily by the engine and is 
        not saved over reboots."
    ::= { cimrMsuProcEntry 1 }
    
cimrMsuProcPhysicalIndex OBJECT-TYPE
    SYNTAX      EntPhysicalIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The entPhysicalIndex of the physical entity for which
         the MSU measurements in this entry are maintained.
         The exact type of this entity is described by its 
         entPhysicalVendorType value."
    ::= { cimrMsuProcEntry 2 }

cimrMsuProcAcceptableThreshold OBJECT-TYPE
    SYNTAX      CimrMsuThreshold
    UNITS       "MSUs per second"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to specify a level of traffic below 
        which the traffic is considered to be acceptable.  All 
        changes to this threshold will take effect at the end of the
        current interval.  The value for this object must be less 
        than the values specified by cimrMsuProcWarningThreshold
        and cimrMsuProcOverloadedThreshold objects."
    DEFVAL   {0}    
    ::= { cimrMsuProcEntry 3 }
    
cimrMsuProcWarningThreshold OBJECT-TYPE
    SYNTAX      CimrMsuThreshold
    UNITS       "MSUs per second"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to specify a level of traffic that 
        indicates a rate that is above acceptable level, but is 
        below level that impacts routing of MSUs.  All changes to 
        this threshold will take effect at the end of the current
        interval.  The value for this object must be greater than  
        the values specified by cimrMsuProcAcceptableThreshold and 
        less than cimrMsuProcOverloadedThreshold objects."
    DEFVAL   {0}    
    ::= { cimrMsuProcEntry 4 }
    
cimrMsuProcOverloadedThreshold OBJECT-TYPE
    SYNTAX      CimrMsuThreshold
    UNITS       "MSUs per second"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to specify a level of traffic that 
        indicates a rate that may impact routing of MSUs.  All 
        changes to this threshold will take effect at the end 
        of the current interval.  The value for this object must
        be greater than the value specified for
        cimrMsuProcAcceptableThreshold and 
        cimrMsuProcWarningThreshold objects."
    DEFVAL   {0}    
    ::= { cimrMsuProcEntry 5 }
    
cimrMsuProcReset OBJECT-TYPE
     SYNTAX          TruthValue
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
        "This object object always returns the 'false' value.  
         Setting the object to 'true' resets the following 
         objects.
         
            cimrMsuProcDurWarning      
            cimrMsuProcDurOverloaded   
            cimrMsuTrafficMaxRate
            cimrMsuTrafficMaxRateTimestamp    
            cimrMsuDist000to009Seconds     
            cimrMsuDist010to019Seconds     
            cimrMsuDist020to029Seconds     
            cimrMsuDist030to039Seconds     
            cimrMsuDist040to049Seconds     
            cimrMsuDist050to059Seconds     
            cimrMsuDist060to069Seconds     
            cimrMsuDist070to079Seconds     
            cimrMsuDist080to089Seconds     
            cimrMsuDist090orAbove 
            
         In addition, the cimrMsuRateResetTimestamp is set to the
         current sysUpTime.
        "
    ::= { cimrMsuProcEntry 6 }

cimrMsuProcResetTimestamp OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The value of sysUpTime when the measurements 
       were reset by setting the cimrMsuProcReset object or
       by changing any of the following objects. 
       
       cimrMsuRateSampleInterval
       cimrMsuRateAcceptableThreshold,
       cimrMsuRateWarningThreshold,
       cimrMsuRateOverloadedThreshold 
       cimrMsuProcAcceptableThreshold 
       cimrMsuProcWarningThreshold    
       cimrMsuProcOverloadedThreshold 
       
       This object will default to the time when instance
       was created.
      "
    ::= { cimrMsuProcEntry 7 }
    
cimrMsuProcSlotNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The number of slot contain processor and will be 
       set to zero when platform does not support
       processsors in multiple slots."
    ::= { cimrMsuProcEntry 8 }
    
cimrMsuProcBayNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The number of bay contain processor and will be 
       set to zero when platform does not support 
       processsors in multiple bays. "
    ::= { cimrMsuProcEntry 9 }
    
-- *************************************************************
-- *                                                           *
-- * Current Traffic MSU Rates                                 *
-- *                                                           *
-- *************************************************************
cimrMsuTrafficTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CimrMsuTrafficEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table provides information on the traffic in MUS 
         for each processor in both directions.  Any MSU in which
         a processor is involved will be counted.  Here are some 
         examples of how MSUs would be counted.
        
         Traditional SS7 Links:
         MSU is received on Line card 1 that supports SS7 link and
         MSU is routed directly to line card 2 that supports output
         link.  Line card 1 processor information will be updated to
         indicate it received MSU  and line card 2 processor 
         information will be updated to indicate it sent MSU.
     
         IP/SCTP based SS7 Links:
         IP based SS7 Links can be terminated on linecard or owned 
         by the main processor.  When SS7 link is terminated on main
         processor only the main processor information will be 
         updated.  The line card processor that owns the IP interface 
         will be involved but will not be included in measurements.
         When the SS7 link is terminated on line card its processor
         information will be updated.
   
         It is important to note that packets exchanged for SCTP 
         associations are different from SS7 MSUs.  More than one 
         SS7 MSU can be transmitted in a single IP packet.  Also,
         the SCTP association exchanges control packets that are
         not counted as SS7 MSUs.
         
        " 
    ::= { cimrTables 2 }
       
cimrMsuTrafficEntry OBJECT-TYPE
    SYNTAX      CimrMsuTrafficEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry represents a processor traffic in a particular 
         direction and is updated at end of interval specified by 
         the  cimrMsuRateSampleInterval object."
    INDEX   { cimrMsuProcIndex,  -- Shared index
              cimrMsuTrafficDirection 
            }
    ::= { cimrMsuTrafficTable  1 }

CimrMsuTrafficEntry  ::= SEQUENCE {
        cimrMsuTrafficDirection           CirbhMsuTrafficDirection,
        cimrMsuTrafficRateState           CimrMsuRateState, 
        cimrMsuTrafficRate                Gauge32,
        cimrMsuTrafficSize                Gauge32,
        cimrMsuTrafficDurWarning          CirbhMsuCurrentCount, 
        cimrMsuTrafficDurOverloaded       CirbhMsuCurrentCount,
        cimrMsuTrafficMaxRate             Gauge32,
        cimrMsuTrafficMaxTimestamp        TimeStamp
}
                       
cimrMsuTrafficDirection OBJECT-TYPE
    SYNTAX      CirbhMsuTrafficDirection
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "The direction of traffic on a processor."
    ::= { cimrMsuTrafficEntry 1 }
        
cimrMsuTrafficRateState OBJECT-TYPE
    SYNTAX     CimrMsuRateState
    MAX-ACCESS read-only  
    STATUS     current
    DESCRIPTION
       "The state of traffic load for a particular
        direction and is calculated using the following objects.
        
       - cimrMsuTrafficRcvdRate
       - cimrMsuRateAcceptableThreshold 
       - cimrMsuRateWarningThreshold
       - cimrMsuRateOverloadedThreshold
       - cimrMsuTrafficAcceptableThreshold
       - cimrMsuTrafficWarningThreshold
       - cimrMsuTrafficOverloadedThreshold 
       "
    ::= { cimrMsuTrafficEntry 2 }
    
cimrMsuTrafficRate OBJECT-TYPE
    SYNTAX      Gauge32
    UNITS       "MSUs per seconds"
    MAX-ACCESS  read-only  
    STATUS      current
    DESCRIPTION
        "Rate of MSUs over the interval specified by the 
         cimrMsuRateSampleInterval object."
    ::= { cimrMsuTrafficEntry 3 }
    
cimrMsuTrafficSize OBJECT-TYPE
    SYNTAX      Gauge32
    UNITS       "Average bytes per MSU"
    MAX-ACCESS  read-only  
    STATUS      current
    DESCRIPTION
        "The average size of MSU over the interval 
         specified by the cimrMsuRateSampleInterval object."
    ::= { cimrMsuTrafficEntry 4 }
    
cimrMsuTrafficDurWarning OBJECT-TYPE
    SYNTAX     CirbhMsuCurrentCount
    UNITS      "seconds"
    MAX-ACCESS read-only  
    STATUS     current
    DESCRIPTION
        "The number of seconds the cimrMsuTrafficRateState was in 
         the 'warning' state."
    ::= { cimrMsuTrafficEntry 5 }
    
cimrMsuTrafficDurOverloaded OBJECT-TYPE
    SYNTAX     CirbhMsuCurrentCount
    UNITS      "seconds"
    MAX-ACCESS read-only  
    STATUS     current
    DESCRIPTION
        "The number of seconds the cimrMsuTrafficRateState was in 
         the 'overloaded' state."
    ::= { cimrMsuTrafficEntry 6 }
           
cimrMsuTrafficMaxRate OBJECT-TYPE
    SYNTAX      Gauge32
    UNITS       "MSUs per second"
    MAX-ACCESS  read-only  
    STATUS      current
    DESCRIPTION
        "Maximum value for the cimrMsuTrafficRate object since 
         Setting this object to zero will clear the
         cimrMsuTrafficMaxTimestamp until the need next 
         interval information is collected."
    ::= { cimrMsuTrafficEntry 7 }
    
cimrMsuTrafficMaxTimestamp OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only  
    STATUS      current
    DESCRIPTION
        "Time and date when cimrMsuTrafficMaxRate was 
         last set or zero when object was cleared."
    ::= { cimrMsuTrafficEntry 8 }

-- *************************************************************
-- *                                                           *
-- * Distribution of MSU Rates                                 *
-- *                                                           *
-- *************************************************************
cimrMsuDistTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CimrMsuDistEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table provides distribution of MSU rates per 
         processor in both the transmit and receive directions.
         The MSU rates are converted into percentages by the 
         current overloaded-threshold by the following formula:
         
         (MSU-Rate * 100)/overloaded-threshold

         Any value over 100 is placed in 90 to 100 range.
         
         Any changes to the following thresholds or setting 
         cimrMsuProcReset object to 'true' will cause 
         information in table to be reset.
         
         global:
         - cimrMsuRateAcceptableThreshold 
         - cimrMsuRateWarningThreshold    
         - cimrMsuRateOverloadedThreshold 
          
         Per processor: 
         - cimrMsuProcAcceptableThreshold 
         - cimrMsuProcWarningThreshold    
         - cimrMsuProcOverloadedThreshold
         
         In order for this table to contain data either the 
         cimrMsuRateOverloadedThreshold or  
         cimrMsuProcOverloadedThreshold must be set to non-zero
         value.  If both objects are zero then data is not 
         collected for this table.
         "
    ::= { cimrTables 3 }
         
cimrMsuDistEntry OBJECT-TYPE
    SYNTAX      CimrMsuDistEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry represents a processor and is updated
         at end of interval specified by the 
         cimrMsuRateSampleInterval object."
    INDEX   { cimrMsuProcIndex,       -- Shared index
              cimrMsuTrafficDirection -- Shared index
            }
    ::= { cimrMsuDistTable  1 }

CimrMsuDistEntry  ::= SEQUENCE {
        cimrMsuDist000to009Seconds     CirbhMsuCurrentCount,
        cimrMsuDist010to019Seconds     CirbhMsuCurrentCount,
        cimrMsuDist020to029Seconds     CirbhMsuCurrentCount,
        cimrMsuDist030to039Seconds     CirbhMsuCurrentCount,
        cimrMsuDist040to049Seconds     CirbhMsuCurrentCount,
        cimrMsuDist050to059Seconds     CirbhMsuCurrentCount,
        cimrMsuDist060to069Seconds     CirbhMsuCurrentCount,
        cimrMsuDist070to079Seconds     CirbhMsuCurrentCount,
        cimrMsuDist080to089Seconds     CirbhMsuCurrentCount,
        cimrMsuDist090orAbove     CirbhMsuCurrentCount
 }
 
cimrMsuDist000to009Seconds OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current          
    DESCRIPTION
      "The total number of seconds during which the MSU rate 
       for this processor was from 0 to 9 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 1 }
    
cimrMsuDist010to019Seconds OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The total number of seconds during which the MSU rate
       for this processor was from 10 to 19 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 2 }
   
cimrMsuDist020to029Seconds OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The total number of seconds during which the MSU rate
       for this processor was from 20 to 29 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 3 }
   
cimrMsuDist030to039Seconds OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The total number of seconds during which the MSU rate
       for this processor was from 30 to 39 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 4 }
   
cimrMsuDist040to049Seconds OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The total number of seconds during which the MSU rate
       for this processor was from 40 to 49 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 5 }
   
cimrMsuDist050to059Seconds OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The total number of seconds during which the MSU rate
       for this processor was from 50 to 59 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 6 }
   
cimrMsuDist060to069Seconds OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The total number of seconds during which the MSU rate
       for this processor was from 60 to 69 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 7 }
   
cimrMsuDist070to079Seconds OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The total number of seconds during which the MSU rate
       for this processor was from 70 to 79 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 8 }
   
cimrMsuDist080to089Seconds OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The total number of seconds during which the MSU rate
       for this processor was from 80 to 89 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 9 }
   
cimrMsuDist090orAbove OBJECT-TYPE
    SYNTAX      CirbhMsuCurrentCount
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The total number of seconds during which the MSU rate
       for this processor was above 90 percent of the 
       current overloaded-threshold value."
    ::= { cimrMsuDistEntry 10 }

-- *************************************************************
-- *                                                           *
-- * Notifications                                             *
-- *                                                           *
-- *************************************************************
ciscoItpMsuRateState NOTIFICATION-TYPE
     OBJECTS { cimrMsuTrafficRateState,
               cimrMsuTrafficRate, 
               cimrMsuTrafficSize
     }
     STATUS  current
     DESCRIPTION
        "This notification is generated once for the interval 
         specified by the cimrMsuRateNotifyInterval object when the
         cimrMsuTrafficRateState object has the following state 
         transitions.
         
         'acceptable' ->  'warning'
         'acceptable' ->  'overloaded'
         'warning'    ->  'overloaded'
         
         At the end of the interval specified by the 
         cimrMsuRateNotifyInterval object another notification
         will be generated if the current state is 
         different from state sent in last notification even if
         the state transition is not one of the above transitions.
         When the cimrMsuRateNotifyInterval is set to zero all
         state changes will generate notifications."
     ::= { ciscoItpMsuRatesMIBNotifs 1 }


-- *************************************************************
-- *                                                           *
-- * Conformance Information                                   *
-- *                                                           *
-- *************************************************************
ciscoItpMsuRatesMIBCompliances OBJECT IDENTIFIER ::= 
        { ciscoItpMsuRatesMIBConform 1 }
ciscoItpMsuRatesMIBGroups      OBJECT IDENTIFIER ::=
        { ciscoItpMsuRatesMIBConform 2 }

-- *****************************************************************
-- Compliance Statements
-- *****************************************************************
ciscoItpMsuRatesMIBCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "The compliance statement for entities which implement
             the CISCO-ITP-MSU-RATES-MIB.my MIB"
        MODULE -- this module
        MANDATORY-GROUPS { ciscoItpMsuRatesScalarsGroup,
                           ciscoItpMsuRatesObjects,
                           ciscoItpMsuDistObjects,
                           ciscoItpMsuRatesNotifyGroup
                         }
        ::= { ciscoItpMsuRatesMIBCompliances 1 }
        

-- ****************************************************************
-- Units of Conformance
-- ****************************************************************
ciscoItpMsuRatesScalarsGroup OBJECT-GROUP       
        OBJECTS { cimrMsuRateSampleInterval,
                  cimrMsuRateNotifyInterval,
                  cimrMsuRateNotifyEnable,
                  cimrMsuRateAcceptableThreshold,
                  cimrMsuRateWarningThreshold,
                  cimrMsuRateOverloadedThreshold 
        }
        STATUS current
        DESCRIPTION
           "Objects used control collection MSU rates."
        ::= { ciscoItpMsuRatesMIBGroups 1 }
    
ciscoItpMsuRatesObjects OBJECT-GROUP       
        OBJECTS { cimrMsuProcPhysicalIndex,     
                  cimrMsuProcAcceptableThreshold,
                  cimrMsuProcWarningThreshold,
                  cimrMsuProcOverloadedThreshold,
                  cimrMsuProcReset, 
                  cimrMsuProcResetTimestamp,
          cimrMsuProcSlotNumber,
          cimrMsuProcBayNumber,
                  cimrMsuTrafficRateState,
                  cimrMsuTrafficRate,          
                  cimrMsuTrafficSize,          
                  cimrMsuTrafficDurWarning,    
                  cimrMsuTrafficDurOverloaded, 
                  cimrMsuTrafficMaxRate,
                  cimrMsuTrafficMaxTimestamp
        }
        STATUS current
        DESCRIPTION
           "ITP MSU rates object group."
        ::= { ciscoItpMsuRatesMIBGroups 2 }
        
ciscoItpMsuDistObjects OBJECT-GROUP
        OBJECTS { cimrMsuDist000to009Seconds,
                  cimrMsuDist010to019Seconds,
                  cimrMsuDist020to029Seconds,
                  cimrMsuDist030to039Seconds,
                  cimrMsuDist040to049Seconds,
                  cimrMsuDist050to059Seconds,
                  cimrMsuDist060to069Seconds,
                  cimrMsuDist070to079Seconds,
                  cimrMsuDist080to089Seconds,
                  cimrMsuDist090orAbove
        }          
        STATUS current
        DESCRIPTION
           "ITP MSU distribution object group."
        ::= { ciscoItpMsuRatesMIBGroups 3 }

ciscoItpMsuRatesNotifyGroup NOTIFICATION-GROUP   
        NOTIFICATIONS { ciscoItpMsuRateState
        }                                        
        STATUS current                           
        DESCRIPTION                              
           "ITP MSU state notification group."   
        ::= { ciscoItpMsuRatesMIBGroups 4 }      
END